#ifndef __T_DATA_LUA__IMP__
#define __T_DATA_LUA__IMP__

#include "DataIf.h"

//
//	Data Interface
//	Which is a most use data cluster interface used in my design
//
class TDATA_API DataImpLua : public IData
{
public:
	DataImpLua();
	virtual ~DataImpLua();

	//	
	//	ID
	//
	virtual void	setID(int nID);
	virtual int		getID()const;

	//
	//	Group ID
	//
	virtual void	setGroupID(int nGrpID);
	virtual int		getGroupID()const;	


	//
	//	Data Extension, more data
	//
	virtual	int		getData(const short& nIdx, int nDefault)const;
	virtual void	setData(const short& nIdx, int nValue);

	//
	//	Data Extension, more data, string as key
	//
	virtual	int		getData(const char* szKey, int nDefault = 0)const;
	virtual void	setData(const char* szKey, int nValue);

	//
	//	Data Extension, more data, string as key, string as data
	//
	virtual	int		getData(const char* szKey, string& sValue)const;
	virtual void	setData(const char* szKey, const string& sValue);
protected:
	int m_nID;
	int m_nGrp;

	int m_nArgX;
	int m_nArgY;
	int m_nArgZ;
};

#endif
